草庐IT

UI线程上的Android Junit4测试

全部标签

javascript - 使用 Jasmine 测试 Angular Controller 中的非作用域函数

Jasmine是使用最广泛的测试框架之一,以BDD方式对javascript代码进行单元测试。我试图将它用于AngularJS组件测试。AngularJS文档提供了以下示例代码describe('PasswordController',function(){beforeEach(module('app'));var$controller;beforeEach(inject(function(_$controller_){$controller=_$controller_;}));describe('$scope.grade',function(){it('setsthestrength

javascript - Protractor 测试元素是否为空

我想测试这个div元素为空。varmessagesDiv=element(by.id('messagesDiv'));expect(messagesDiv).to...我将如何实现? 最佳答案 我认为:expect(messagesDiv.getText()).toBe('');应该可以解决问题。更多信息here. 关于javascript-Protractor测试元素是否为空,我们在StackOverflow上找到一个类似的问题: https://stack

javascript - Angular Run Block - 使用 UI-Router $stateProvider 来解析 Promise

UI-Router不同于Angular的ngRoute。它支持普通ngRoute可以做的所有事情以及许多额外的功能。我正在将我的Angular应用程序从ngRoute更改为UI-Router。但我不太清楚如何以编程方式注入(inject)resolve函数-我在Controller和config之外使用的代码片段。因此,使用标准Angular的ngRoute我可以在Angular运行中动态注入(inject)我的resolvepromiseblock:app.run(function($route){varroute=$route.routes['/'];route.resolve=r

javascript - 服务器 : how to get "window", "location"和其他 "window"属性以及通常是浏览器对象上的浏览器代码?

我想在浏览器和服务器上都使用浏览器代码。我的代码基本上是React组件。我想浏览代码,得到一个编译表app.js并在浏览器和服务器上同时使用它://inabrowser//onaservervarApp=require('../assets/js/react/app');但据我所知,browserify不知道window对象。我不能在服务器端要求浏览器代码,抛出一个错误:if(window.location.pathname=='/foo'){^ReferenceError:windowisnotdefined代码如下:...manyReactcomponentsgohere...//

javascript - 如何测试返回 Promise 的方法

我正在编写Angular2RC5应用程序,并使用Karma和Jasmine进行单元测试。我有一个返回Promise的方法(它位于对angular的http.post的调用之上)我想在完成后运行一些断言。这样的东西是行不通的letresult=myService.getFoo();result.then(rslt=>expect(1+1).toBe(3));//theerrorislost这会创建一个“UnhandledPromiserejection”警告,但错误会被抑制并且测试通过。如何根据已解决的promise运行断言?注意事项:.catch()方法似乎不是我想要的。我不想记录或做

javascript - 在 Angular 单元测试中模拟 ngResource

我有一个看起来像这样的ngResourceMockFactory:(function(){'usestrict';angular.module('app').factory('NgResourceMock',ngResourceMockFactory);ngResourceMockFactory.$inject=[];functionngResourceMockFactory(){functionNgResourceMock(){varcontext=this;context.$promise.then=function(){context.prototype.$promise.the

javascript - 测试 JavaScript 中的对象链是否有效的好方法

这个问题在这里已经有了答案:AccessingnestedJavaScriptobjectsandarraysbystringpath(44个答案)TestforexistenceofnestedJavaScriptobjectkey(64个回答)关闭6年前。考虑这个例子:if(this.plantService.plants[id]){if(this.plantService.plants[id].Name){if(this.plantService.plants[id].Name[0])returnthis.plantService.plants[id].Name[0].value

javascript - JavaScript 是否为非阻塞 AJAX 生成线程?

一般的看法是JavaScript本质上是单线程的,但它可以异步运行。我想知道像这样的单线程模型如何处理非阻塞的AJAX请求?假设在浏览器中触发了一个非阻塞AJAX请求,但没有立即得到响应。如果事件循环不断检查响应,执行不会被阻塞吗?事件循环是否不断检查其状态并在没有响应时将任务“重新添加”到宏任务队列的后面?据我了解,Node.js会静默生成线程来处理访问磁盘、数据库、网络套接字等的I/O操作。浏览器中的JavaScript是否也会生成线程来处理AJAX?可以针对以下问题提出类似的问题:varimg=newImage();img.onerror=function(){alert('er

javascript - 组件上的异步等待已挂载

这是我的componentDidMount方法。我想设置当前用户的状态,然后在设置该用户时调用该函数。我该怎么做?componentDidMount=()=>{firebase.auth().onAuthStateChanged((user)=>{if(user){this.setState({user:user})}});this.props.retrieveMatches(this.state.user.uid)}我试过使用async/await但我在这里没有正确使用它:asynccomponentDidMount=()=>{awaitfirebase.auth().onAuthS

javascript - 在 React 中使用 Buttons 触发 react-table 上的过滤功能

我不知道怎么说。我正在学习React,我通过获取将数据加载到React-Table中。我尝试使用React-Table并仅自定义普通div和表格。我想创建一个A、B、C、D...Z字母表的触摸按钮。这些按钮应该为按钮中的字母调用过滤器。因此,例如按钮如下。//InDirectory.jsclassFilterButtonsextendsReact.Component{alphaFilter(e){console.log(e.target.id);//somehowfilterthereacttable}render(){return(ABC);}}constBottomMenu=pro